diff -c -p -r1.1.1.1 -r1.2
*** config.sub	1999/08/29 00:59:05	1.1.1.1
--- config.sub	1999/09/01 11:48:53	1.2
*************** case $basic_machine in
*** 277,286 ****
  		os=-sysv
  		;;
  	amiga | amiga-*)
! 		basic_machine=m68k-cbm
  		;;
  	amigaos | amigados)
! 		basic_machine=m68k-cbm
  		os=-amigaos
  		;;
  	amigaunix | amix)
--- 277,286 ----
  		os=-sysv
  		;;
  	amiga | amiga-*)
! 		basic_machine=m68k-unknown
  		;;
  	amigaos | amigados)
! 		basic_machine=m68k-unknown
  		os=-amigaos
  		;;
  	amigaunix | amix)
diff -N x-amigaos
*** gcc/config/m68k/x-amigaos	Tue May  5 13:32:27 1998
--- gcc/config/m68k/x-amigaos	Sat Sep  4 11:20:56 1999
***************
*** 0 ****
--- 1,77 ----
+ # Makefile fragment for AmigaOS host
+ 
+ # Uncomment the following macro to get a resident GCC. We don't do it
+ # by default, since we want to support users with mc68000.
+ # WARNING!  If you uncomment this, you MUST add the same flags to the
+ # libiberty's Makefile (libiberty is now linked into GCC executables).
+ 
+ #RESIDENT = -m68020 -resident32
+ 
+ # Additional host flags that are not used when compiling with GCC_FOR_TARGET,
+ # such as when compiling the libgcc* runtime archives. GCC uses stack
+ # a lot, and since AmigaOS provides processes with a small, fixed size
+ # stack, we have to generate code that will extend it whenever necessary.
+ 
+ XCFLAGS = -mstackextend $(RESIDENT)
+ 
+ # AmigaOS supports "AmigaGuide(R)" hypertext files. For GCC, these are
+ # build with a custom "makeinfo".
+ 
+ ### begin-GG-local: gcc-amigaos
+ EXTRA_DOC_TARGETS = guide gcc-amigaos-doc
+ ### end-GG-local
+ 
+ # Arrange for guides to be build with GCC, in the build directory.
+ 
+ ALL = all.internal doc
+ 
+ # Actually build guides
+ 
+ guide: cpp.guide gcc.guide
+ 
+ cpp.guide: cpp.texi
+ 	$(MAKEINFO) -I$(srcdir) $(srcdir)/cpp.texi --output=$@ --amiga
+ 
+ gcc.guide: gcc.texi extend.texi install.texi invoke.texi \
+ 		md.texi rtl.texi tm.texi
+ 	$(MAKEINFO) -I$(srcdir) $(srcdir)/gcc.texi --output=$@ --amiga
+ 
+ # Arrange for guides to be installed with GCC.
+ 
+ ### begin-GG-local: gcc-amigaos
+ INSTALL_TARGET=install-normal install-guide install-gcc-amigaos-doc
+ ### end-GG-local
+ 
+ # Where the guide files go
+ 
+ guidedir = $(prefix)/guide
+ 
+ # Actually install guides.
+ 
+ install-guide: doc installdirs
+ 	-if [ -d $(guidedir) ] ; then true ; else mkdir $(guidedir) ; chmod a+rx $(guidedir) ; fi
+ 	-rm -f $(guidedir)/cpp.guide $(guidedir)/gcc.guide
+ 	for f in cpp.guide gcc.guide; \
+ 	do $(INSTALL_DATA) $$f $(guidedir)/$$f; done
+ 	-chmod a-x $(guidedir)/cpp.guide $(guidedir)/gcc.guide
+ 
+ ### begin-GG-local: gcc-amigaos
+ # Build and install gcc-amigaos.guide - documentation specific to the
+ # AmigaOS port of GCC.
+ 
+ gcc-amigaos-doc: gcc-amigaos.info gcc-amigaos.guide
+ 
+ gcc-amigaos.info: gcc-amigaos.texi
+ 	$(MAKEINFO) -I$(srcdir) $(srcdir)/gcc-amigaos.texi --output=$@
+ 
+ gcc-amigaos.guide: gcc-amigaos.texi
+ 	$(MAKEINFO) -I$(srcdir) $(srcdir)/gcc-amigaos.texi --output=$@ --amiga
+ 
+ install-gcc-amigaos-doc: doc installdirs
+ 	-if [ -d $(guidedir) ] ; then true ; else mkdir $(guidedir) ; chmod a+rx $(guidedir) ; fi
+ 	-rm -f $(infodir)/gcc-amigaos.info* $(guidedir)/gcc-amigaos.guide
+ 	for f in gcc-amigaos.info*; \
+ 	do $(INSTALL_DATA) $$f $(infodir)/$$f; done
+ 	$(INSTALL_DATA) gcc-amigaos.guide $(guidedir)
+ 	-chmod a-x $(infodir)/gcc-amigaos.info* $(guidedir)/gcc-amigaos.guide
+ ### end-GG-local
Index: gcc/config/m68k/xm-amigaos.h
===================================================================
RCS file: xm-amigaos.h
diff -N xm-amigaos.h
*** gcc/config/m68k/xm-amigaos.h	Tue May  5 13:32:27 1998
--- gcc/config/m68k/xm-amigaos.h	Sat Sep  4 11:20:56 1999
***************
*** 0 ****
--- 1,98 ----
+ /* Configuration for GNU C-compiler for m68k Amiga, running AmigaOS.
+    Copyright (C) 1992, 93-96, 1997 Free Software Foundation, Inc.
+    Contributed by Markus M. Wild (wild@amiga.physik.unizh.ch).
+ 
+ This file is part of GNU CC.
+ 
+ GNU CC is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+ 
+ GNU CC is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ 
+ You should have received a copy of the GNU General Public License
+ along with GNU CC; see the file COPYING.  If not, write to
+ the Free Software Foundation, 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.  */
+ 
+ /* First include the generic header, then modify some parts.  */
+ 
+ #include "m68k/xm-m68k.h"
+ 
+ #ifndef _FCNTL_H_
+ #include <fcntl.h>
+ #endif
+ 
+ /* Define various things that the AmigaOS host has.  */
+ 
+ #define HAVE_ATEXIT
+ #define HAVE_RENAME
+ 
+ /* AmigaOS specific headers, such as from the Native Developer Update kits,
+    go in SYSTEM_INCLUDE_DIR.  STANDARD_INCLUDE_DIR is the equivalent of
+    Unix "/usr/include".  All other include paths are set in Makefile.  */
+ 
+ #define SYSTEM_INCLUDE_DIR	"/gg/os-include"
+ #define STANDARD_INCLUDE_DIR	"/gg/include"
+ 
+ #define STANDARD_EXEC_PREFIX_1 "/gg/lib/gcc/"
+ #define STANDARD_STARTFILE_PREFIX_1 "/gg/lib/"
+ #define STANDARD_STARTFILE_PREFIX_2 "/gg/lib/"
+ 
+ /* The AmigaOS stores file names with regard to upper/lower case, but actions
+    on existing files are case independent on the standard filesystems.
+ 
+    A good example of where this causes problems is the conflict between the C
+    include file <string.h> and the C++ include file <String.h>, where the C++
+    include file dir is searched first and thus causes includes of <string.h>
+    to include <String.h> instead.
+ 
+    In order to solve this problem we define the macro OPEN_CASE_SENSITIVE as
+    the name of the function that takes the same args as open() and does case
+    dependent opens.  */
+ 
+ #define OPEN_CASE_SENSITIVE(NAME, FLAGS, MODE) open ((NAME), (FLAGS) | O_CASE, (MODE))
+ 
+ /* On the AmigaOS, there are two pathname separators, '/' (DIR_SEPARATOR)
+    and ':' (VOL_SEPARATOR).  DIR_SEPARATOR defaults to the correct
+    character, so we don't have to explicitly set it.  */
+ 
+ #define DIR_SEPARATOR '/'
+ #define VOL_SEPARATOR ':'
+ #define DIR_SEPARATOR_2 VOL_SEPARATOR
+ 
+ /* Determine whether a '\0'-terminated file name is absolute or not.
+ 
+    This checks for both, '/' as the first character, since we're running under
+    ixemul.library which provides for this unix'ism, and for the usual 
+    logical-terminator, ':', somewhere in the filename.  */
+ 
+ #define FILE_NAME_ABSOLUTE_P(NAME) ((NAME)[0] == '/' || index ((NAME), ':'))
+ 
+ /* Like the above, but the file name is not '\0'-terminated.  */
+ 
+ #define FILE_NAME_ABSOLUTE_N_P(NAME, LEN) amigaos_file_name_absolute_n ((NAME), (LEN))
+ 
+ /* Return the file name part of the path name.  */
+ 
+ #define FILE_NAME_NONDIRECTORY(NAME)					\
+   (rindex ((NAME), '/') ? rindex ((NAME), '/') + 1			\
+ 			: (rindex ((NAME), ':') ? rindex ((NAME), ':') + 1 \
+ 						: (NAME)))
+ 
+ /* Generate the name of the cross reference file.  */
+ 
+ #define XREF_FILE_NAME(BUFF, NAME)					\
+ do									\
+   {									\
+     char *filesrc, *filedst;						\
+     strcpy ((BUFF), (NAME));						\
+     filesrc = FILE_NAME_NONDIRECTORY (NAME);				\
+     filedst = (BUFF) + (filesrc - (NAME));				\
+     sprintf (filedst, ".%s.gxref", filesrc);				\
+   }									\
+ while (0)
diff -c -p -r1.1.1.1 -r1.2
*** gcc/toplev.c	1999/08/29 00:59:17	1.1.1.1
--- gcc/toplev.c	1999/09/01 11:49:00	1.2
*************** main (argc, argv)
*** 5440,5446 ****
  
    compile_file (filename);
  
! #if !defined(OS2) && !defined(VMS) && (!defined(_WIN32) || defined (__CYGWIN__)) && !defined(__INTERIX)
    if (flag_print_mem)
      {
        char *lim = (char *) sbrk (0);
--- 5451,5457 ----
  
    compile_file (filename);
  
! #if !defined(OS2) && !defined(VMS) && (!defined(_WIN32) || defined (__CYGWIN__)) && !defined(__INTERIX) && !defined (__amigaos__) && !defined (__BEOS__)
    if (flag_print_mem)
      {
        char *lim = (char *) sbrk (0);
*** gcc/configure~	Sun Mar 19 11:37:57 2000
--- gcc/configure	Sun Mar 19 16:24:33 2000
***************
*** 4440,4445 ****
--- 4440,4453 ----
  		extra_headers=math-68881.h
  		float_format=m68k
  		;;
+  	m68k-*-amigaos*)
+  		xm_file=m68k/xm-amigaos.h
+  		tm_file=m68k/amigaos.h
+  		tmake_file=m68k/t-amigaos
+  		xmake_file=m68k/x-amigaos
+  		extra_objs=amigaos.o
+  		gnu_ld=yes
+  		;;
  
  	m88k-dg-dgux*)
  		case $machine in
